A software project has "Hero Developers" when 80% of contributions aredelivered by 20% of the developers. Are such heroes a good idea? Are too manyheroes bad for software quality? Is it better to have more/less heroes fordifferent kinds of projects? To answer these questions, we studied 661 opensource projects from Public open source software (OSS) Github and 171 projectsfrom an Enterprise Github. We find that hero projects are very common. In fact, as projects grow insize, nearly all project become hero projects. These findings motivated us tolook more closely at the effects of heroes on software development. Analysisshows that the frequency to close issues and bugs are not significantlyaffected by the presence of project type (Public or Enterprise). Similarly, thetime needed to resolve an issue/bug/enhancement is not affected by heroes orproject type. This is a surprising result since, before looking at the data, weexpected that increasing heroes on a project will slow down howfast thatproject reacts to change. However, we do find a statistically significantassociation between heroes, project types, and enhancement resolution rates.Heroes do not affect enhancement resolution rates in Public projects. However,in Enterprise projects, the more heroes increase the rate at which projectcomplete enhancements. In summary, our empirical results call for a revision of a long-held truismin software engineering. Software heroes are far more common and valuable thansuggested by the literature, particularly for medium to large Enterprisedevelopments. Organizations should reflect on better ways to find and retainmore of these heroes
展开▼